package com.action;

import com.pojo.Dep;
import com.service.IDepService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

@RestController
public class DepAction {

//    然后 接口编程的  核心  思想就是  依赖其接口  不要 依赖 实现类  IDepService接口  这个就是 依赖了 接口  并没有依赖实现类   这样可以解耦
@Autowired //从容器找depService实例，给属性赋值
    private IDepService depService;

    @RequestMapping("/findById")
    @CrossOrigin("*") //ajax跨域访问
    public Dep findById(@RequestBody Dep dep){

        Dep list=depService.findById(dep.getDepId());
        return list;
    }

    @RequestMapping("findAll")
    @CrossOrigin("*")
    public List<Dep> findAll(){
        List<Dep> list=depService.findAll();
        return list;
    }

    //获取请求头信息 @RequestHeader 的Accept-Language值，并将值保存在al
    @RequestMapping("testRequestHeader")
    public String testRequestHeader(@RequestHeader("Accept-Language") String al){
        System.out.println(al);
        return "success";
    }

    @RequestMapping("testServletAPI")
    public String testServletAPI(HttpServletResponse request,HttpServletResponse response){
        System.out.println(request);
        return "success";
    }

    @RequestMapping("testModelAndView")
    public ModelAndView testModelAndView(){ //有数据，又有视图
ModelAndView mv=new ModelAndView("success"); //view:success
        Dep dep=new Dep();
        dep.setDepId(2);
        dep.setDepName("zs");
        mv.addObject("student",dep);  //相当于request。setAttribute（“Student”,dep）

return mv;

    }


}
